package com.db.dao;

import java.util.ArrayList;

import utils.FalhasFonte;
import utils.db.DatabaseStarter;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class FalhasFontesDAO {
	
	private DatabaseStarter db;
	private static final String TABLE = "ucopa_falhas_fontes";

	//FALHAS FONTES
    private static final String CREATE_TABLE_FALHAS_FONTES = "CREATE TABLE "
            + TABLE + "(id INTEGER PRIMARY KEY," +
    		"parent_id" + " INTEGER," + "left" + " INTEGER," + "rgt" + " INTEGER," 
            + "fonte TEXT,fonte_en TEXT," +  "ativo" + " INTEGER," + "adicional" + " INTEGER,"
            + "level" + " INTEGER)";

	public FalhasFontesDAO(DatabaseStarter db) {
		this.db = db;
	}
	
	public void insere(FalhasFonte fl) {
		 SQLiteDatabase database = this.db.getWritableDatabase();
		 ContentValues values = new ContentValues();
		 
		 values.put("id", fl.id);
	     values.put("parent_id", fl.parent_id);
	     values.put("left", fl.lft);
	     //values.put("rgt", fl.rgt);
	     values.put("fonte", fl.fonte);
	     values.put("fonte_en", fl.fonte_en);
	     values.put("ativo", fl.ativo);
	     values.put("adicional", fl.adicional);
	     values.put("level", fl.level);

	     database.insert(TABLE, null, values);
	}
	
	public ArrayList<FalhasFonte> retorna(int parent) {
		ArrayList<FalhasFonte> fontes = new ArrayList<FalhasFonte>();
		String selectQuery = "SELECT  * FROM " + TABLE + " WHERE parent_id='"+parent+"' ORDER BY fonte";
 
        SQLiteDatabase database = this.db.getReadableDatabase();
        Cursor c = database.rawQuery(selectQuery, null);
 
        // looping through all rows and adding to list
        if (c.moveToFirst()) {
            do {
                FalhasFonte fl = new FalhasFonte();
                fl.id = c.getInt(c.getColumnIndex("id"));
                fl.parent_id = c.getInt(c.getColumnIndex("parent_id"));
                fl.lft = c.getInt(c.getColumnIndex("left"));
                //fl.rgt = c.getInt(c.getColumnIndex("rgt"));
            	fl.fonte = c.getString(c.getColumnIndex("fonte"));
            	fl.fonte_en = c.getString(c.getColumnIndex("fonte_en"));
                fl.ativo = c.getInt(c.getColumnIndex("ativo"));
                fl.adicional = c.getInt(c.getColumnIndex("adicional"));
                fl.level = c.getInt(c.getColumnIndex("level"));

                // adding to todo list
                fontes.add(fl);
            } while (c.moveToNext());
        }
 
        return fontes;
	}

	public void deleta() {
		SQLiteDatabase database = this.db.getWritableDatabase();
		database.execSQL("DROP TABLE IF EXISTS " + TABLE);
		database.execSQL(CREATE_TABLE_FALHAS_FONTES);
	}
}